<%@ EnableSessionState=False Language=VBScript %> <% Option Explicit %> <% 'Response.Write("URL QueryString:
" & Request.QueryString) Dim rs1, rs2, rsd, rss1, indent, LowestLevel, AssetPK, RangeTotal, rs_Chart, aRandString, bRandString, KPITTL,kpigroupsql Dim cstep indent = 0 Call SetPrintedFlag() Call SetupData() Call DoOutput() Call CloseDown() CloseObj rs CloseObj rs1 CloseObj rs2 CloseObj rsd CloseObj rss1 Sub DoOutput() Call OutputHeader() Call OutputStandardBodyTag() Call OutputEmailMessage() If len(errormessage) or len(uf_errormessage) Then %> <% =uf_errormessage %>
<% Else Call OutputToolbar() ' Do not rw the form tag If Not FromAgent Then Response.Write("
") End If ' ============================================================================================================================= ' HEADER ' ============================================================================================================================= If Not ChartOnly Then rw "" rw "" rw "" Call OutputAdditionalLogo() rw "" rw "" rw "
" Call OutputLogoOrName() rw "" rw "
" & _ reportName & _ "
" rw_fileonly "
" & _ "Sent: " & CStr(Date()) & "  " & CStr(Time()) & _ "
" If Not FromAgent Then Response.Write "
" & _ "Printed: " & CStr(Date()) & "  " & CStr(Time()) & _ "
" End If rw "
" End If Call OutputCriteria() Call OutputKPIs(rs) Call OutputSummary(rss1) End If Call OutputSQL() Call OutputFormHelper() Call OutputFooter() Call EndFile() End Sub Sub SetupData() Dim modsql_where, notesql, ds, de, dl, dr, d1, d2, numdays 'Response.Write "
" 'Response.End 'WHERE KPIGroup.Name = 'Executive Data' 'AND KPIHistory.DateStamp BETWEEN '2009/04/26 00:00:00' AND '2009/05/26 23:59:59' 'AND KPIGroup.UDFDate1 BETWEEN '2009/05/24 00:00:00' AND '2009/05/30 23:59:59' If InStr(1,sql_where,"KPIGroup.Name =") > 0 Then kpigroupsql = Mid(sql_where,1,InStr(1,sql_where,"AND")-1) End If If InStr(1,sql_where,"AND KPIGroup.UDFDate1 BETWEEN") > 0 Then ds = InStr(sql_where,"AND KPIGroup.UDFDate1 BETWEEN") de = ds+78 dl = de-ds dr = Mid(sql_where,ds,dl) sql_where = Mid(sql_where,1,InStr(1,sql_where,"AND KPIGroup.UDFDate1 BETWEEN")-1) dr = Replace(dr,"KPIGroup.UDFDate1","NoteDate") End If 'Response.Write "
" 'Response.Write dr & "
" 'Response.End If InStr(1,sql_where,"AND KPIHistory.DateStamp") > 0 Then modsql_where = Mid(sql_where,1,InStr(1,sql_where,"AND KPIHistory.DateStamp")-1) d1 = Mid(sql_where,InStr(sql_where,"BETWEEN")+9,19) d2 = Mid(sql_where,InStr(sql_where,"BETWEEN")+36,19) Else d1 = DateNullCheck(DateSerial(Year(Date()),1,1)) + " 00:00:00" d2 = DateNullCheck(DateSerial(Year(Date()),12,31))+ " 23:59:59" modsql_where = sql_where End If 'Response.Write d1 & "
" 'Response.write d2 & "
" 'Response.Write sql_where & "
" 'Response.Write modsql_where 'Response.End numdays = DateDiff("d",d1,d2) 'Response.Write numdays 'Response.Write d1 & "
" 'Response.write d2 & "
" 'Response.Write modsql_where 'Response.End Dim cnt, sdate sdate = d1 cnt = numdays sql = "SELECT theDate = CONVERT(DATETIME,'" Do While cnt >= 0 sql = sql & sdate & "') UNION SELECT theDate = CONVERT(DATETIME,'" cnt = cnt - 1 sdate = DateAdd("d",1,sdate) Loop sql = Mid(sql,1,Len(sql)-42) 'Response.Write "" 'Response.End Set rsd = db.runSQLReturnRS(sql,"") If Trim(Request.QueryString("sqlwhere")) = "" Then Call dok_check_afterflush(db,"Report Message","There was a problem building the report. The details of the problem are described below. You can try again but if this message continues to appear, you may want to exit the Maintenance Connection and try again later.") Else Call dok_check_afterflush_noinfo(db,"Report Message","You have chosen to run a report that is not compatible with the current module criteria. You can either choose a different report, or you can run the selected report from the Maintenance Reporter applicaiton by clicking the Reports button on the toolbar.") End If If not rsd.EOF Then Dim RecCount RecCount=0 RecCount = rsd.recordCount Do While Not rsd.Eof If RecCount > 15 Then If rsd.AbsolutePosition Mod (RecCount * 10) / 100 = 1 Then If NullCheck(rsd("theDate").value) = "" Then chartlabels = chartlabels & "(Not Specified)" & "#," else chartlabels = chartlabels & rsd("theDate").value & "#," End If Else chartlabels = chartlabels & "~" & "#," end if Else If NullCheck(rsd("theDate").value) = "" Then chartlabels = chartlabels & "(Not Specified)" & "#," else chartlabels = chartlabels & rsd("theDate").value & "#," End If End If rsd.movenext() Loop 'Do While Not rsd.EOF ' chartlabels = chartlabels & FormatDateTime(rsd("theDate").value,2) & "#," ' rsd.MoveNext 'Loop 'chartlabels = Mid(chartlabels,1,Len(chartlabels)-2) 'Response.Write chartlabels 'Response.End bRandString = randomString(10) sql="Insert into MCChartLabels (ChartID, LabelID) " & vbNewline & _ "Values ('" & bRandString & "', '" & chartlabels & "')" & vbNewline 'Response.Write "" call db.runSQL(sql, "") End If If errormessage = "" Then sql = "SELECT " & vbNewline & _ " KPIGroup.KPIGroupPK, " & vbNewline & _ " KPIGroup.Name, " & vbNewline & _ " KPI.KPIPK, " & vbNewline & _ " KPI.Name, " & vbNewline & _ " KPI.Description, " & vbNewline & _ " KPI.DisplayOrder " & vbNewline & _ "FROM " & vbNewline & _ " KPIGroup WITH (NOLOCK) " & vbNewline & _ " INNER JOIN KPIGroupKPI WITH (NOLOCK) ON KPIGroupKPI.KPIGroupPK = KPIGroup.KPIGroupPK " & vbNewline & _ " INNER JOIN KPI WITH (NOLOCK) ON KPI.KPIPK = KPIGroupKPI.KPIPK " & vbNewline If NullCheck(modsql_where) <> "" Then sql = sql & modsql_where & vbNewline End If sql = sql & " ORDER BY " & vbNewline & _ " KPI.DisplayOrder, " & vbNewline & _ " KPI.Name" 'Response.Write "" 'Response.end Set rs = db.runSQLReturnRS(sql,"") 'Set rs_Chart = db.runSQLReturnRS(sql,"") If Trim(Request.QueryString("sqlwhere")) = "" Then Call dok_check_afterflush(db,"Report Message","There was a problem building the report. The details of the problem are described below. You can try again but if this message continues to appear, you may want to exit the Maintenance Connection and try again later.") Else Call dok_check_afterflush_noinfo(db,"Report Message","You have chosen to run a report that is not compatible with the current module criteria. You can either choose a different report, or you can run the selected report from the Maintenance Reporter applicaiton by clicking the Reports button on the toolbar.") End If End If sql = "SELECT DISTINCT " & vbNewline & _ " RepairCenter.RepairCenterID, " & vbNewline & _ " NoteDate, " & vbNewline & _ " Note " & vbNewline & _ "FROM " & vbNewline & _ " RepairCenterNote WITH (NOLOCK) " & vbNewline & _ " INNER JOIN KPI WITH (NOLOCK) ON KPI.RepairCenterPK = RepairCenterNote.RepairCenterPK " & vbNewline & _ " INNER JOIN RepairCenter WITH (NOLOCK) ON RepairCenter.RepairCenterPK = RepairCenterNote.RepairCenterPK " & vbNewline & _ "WHERE " & vbNewline & _ " KPI.KPIPK IN ( " & vbNewline & _ " SELECT " & vbNewline & _ " KPI.KPIPK " & vbNewline & _ " FROM " & vbNewline & _ " KPIGroup WITH (NOLOCK) " & vbNewline & _ " INNER JOIN KPIGroupKPI WITH (NOLOCK) ON KPIGroupKPI.KPIGroupPK = KPIGroup.KPIGroupPK " & vbNewline & _ " INNER JOIN KPI WITH (NOLOCK) ON KPI.KPIPK = KPIGroupKPI.KPIPK " & vbNewline If NullCheck(modsql_where) <> "" Then sql = sql & modsql_where & ")" & vbNewline End If sql = sql & dr & " ORDER BY RepairCenter.RepairCenterID, NoteDate DESC" 'Response.Write "" 'Response.end Set rss1 = db.runSQLReturnRS(sql,"") sql = "SELECT " & vbNewline & _ " KPI.Name, " & vbNewline & _ " KPI.DisplayOrder, " & vbNewline & _ " KPI.Units, " & vbNewline & _ " KPIValue = ISNULL(KPIHistory.KPIValue,0) " & vbNewline & _ "FROM " & vbNewline & _ " KPIGroup WITH (NOLOCK) " & vbNewline & _ " INNER JOIN KPIGroupKPI WITH (NOLOCK) ON KPIGroupKPI.KPIGroupPK = KPIGroup.KPIGroupPK " & vbNewline & _ " INNER JOIN KPI WITH (NOLOCK) ON KPI.KPIPK = KPIGroupKPI.KPIPK " & vbNewline & _ " LEFT JOIN RepairCenter WITH (NOLOCK) ON RepairCenter.RepairCenterPK = KPI.RepairCenterPK " & vbNewline & _ " INNER JOIN KPIHistory WITH (NOLOCk) ON KPIHistory.KPIPK = KPI.KPIPK " & vbNewline If NullCheck(kpigroupsql) <> "" Then sql = sql & kpigroupsql & " AND KPIHistory.DateStamp BETWEEN DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0) AND DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE())+1,0)) " & vbNewline Else sql = sql & " WHERE AND KPIHistory.DateStamp BETWEEN DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0) AND DATEADD(ms,-3,DATEADD(dd,DATEDIFF(dd,0,GETDATE())+1,0)) " & vbNewline End If sql = sql & " ORDER BY " & vbNewline & _ " KPI.DisplayOrder, " & vbNewline & _ " KPI.Name, " & vbNewline & _ " KPIHistory.DateStamp" 'Response.Write "" 'Response.end Set rs2 = db.runSQLReturnRS(sql,"") End Sub Sub OutputKPIs(rs) Dim kpi, oldkpi, kpiord, oldkpiord, kpipk, oldkpipk, kpititle, kpiname, pcount pcount=0 If not rs.EOF Then kpiord = NullCheck(rs("DisplayOrder")) oldkpiord = "" Do While Not rs.EOF kpiord = NullCheck(rs("DisplayOrder")) kpipk = NullCheck(rs("KPIPK")) 'KPI GROUP Title If kpiord <> oldkpiord Then aRandString = randomString(10) If InStr(1,NullCheck(rs("Description")),":") > 0 Then KPITTL = Mid(NullCheck(rs("Description")),1,InStr(1,NullCheck(rs("Description")),":")-1) Else KPITTL = "(No Title)" End If 'kpititle = Mid(NullCheck(rs("Name")),3,Len(NullCheck(rs("Name")))) 'Response.Write "
KPI: "&Mid(NullCheck(rs("Name")),3,Len(NullCheck(rs("Name"))))&"
" pcount = 1 End If 'KPI Title If kpipk <> oldkpipk Then 'chartlabels="" chartdata="" kpiname = Nullcheck(rs("Name")) 'Response.Write "
"&NullCheck(rs("Name"))&"
" sql = "SELECT " & vbNewline & _ " KPI.KPIPK, " & vbNewline & _ " KPI.Name, " & vbNewline & _ " KPI.DisplayOrder, " & vbNewline & _ " KPI.Units, " & vbNewline & _ " RepairCenter.UDFChar1, " & vbNewline & _ " KPIHistory.DateStamp, " & vbNewline & _ " KPIValue = ISNULL(KPIHistory.KPIValue,0) " & vbNewline & _ "FROM " & vbNewline & _ " KPIGroup WITH (NOLOCK) " & vbNewline & _ " INNER JOIN KPIGroupKPI WITH (NOLOCK) ON KPIGroupKPI.KPIGroupPK = KPIGroup.KPIGroupPK " & vbNewline & _ " INNER JOIN KPI WITH (NOLOCK) ON KPI.KPIPK = KPIGroupKPI.KPIPK " & vbNewline & _ " LEFT JOIN RepairCenter WITH (NOLOCK) ON RepairCenter.RepairCenterPK = KPI.RepairCenterPK " & vbNewline & _ " INNER JOIN KPIHistory WITH (NOLOCk) ON KPIHistory.KPIPK = KPI.KPIPK " & vbNewline If NullCheck(sql_where) <> "" Then sql = sql & sql_where & " AND KPI.KPIPK = " & kpipk & vbNewline Else sql = sql & " WHERE KPI.KPIPK = " & kpipk & vbNewline End If sql = sql & " ORDER BY " & vbNewline & _ " KPI.DisplayOrder, " & vbNewline & _ " KPI.Name, " & vbNewline & _ " KPIHistory.DateStamp" 'Response.Write "" 'Response.end Set rs1 = db.runSQLReturnRS(sql,"") If Trim(Request.QueryString("sqlwhere")) = "" Then Call dok_check_afterflush(db,"Report Message","There was a problem building the report. The details of the problem are described below. You can try again but if this message continues to appear, you may want to exit the Maintenance Connection and try again later.") Else Call dok_check_afterflush_noinfo(db,"Report Message","You have chosen to run a report that is not compatible with the current module criteria. You can either choose a different report, or you can run the selected report from the Maintenance Reporter applicaiton by clicking the Reports button on the toolbar.") End If If Not rs1.EOF Then Dim LineColor, ytitle Do While Not rs1.EOF LineColor = NullCheck(rs1("UDFChar1")) ytitle = NullCheck(rs1("Units")) chartdata = chartdata + CStr(Round(rs1("KPIValue"), 2)) + "#," 'chartlabels = chartlabels & FormatDateTime(rs1("DateStamp").value,2) & "#," rs1.Movenext Loop chartdata = Mid(chartdata,1,Len(chartdata)-2) 'Response.Write chartdata & "
" 'Response.End sql="Insert into MCChartData (ChartID, DataPK, DataName, DataValues, UDFChar1)" & vbNewline & _ "Values ('" & aRandString & "', " & PCount & ", '" & kpiname & "', '" & chartdata & "','"&LineColor&"')" & vbNewline 'Response.Write "" 'Response.end call db.runSQL(sql, "") Else rw "
" rw "(No KPI Data)" rw "
" End If pcount = pcount + 1 End If oldkpipk = NullCheck(rs("KPIPK")) oldkpiord = NullCheck(rs("DisplayOrder")) rs.MoveNext If Not rs.EOF Then if oldkpiord <> NullCheck(rs("DisplayOrder")) Then rw "" rw "" rw "" rw "" rw "" rw"
" rw "" If Not rs2.EOF Then rw "" Do While Not rs2.EOF AND NullCheck(rs2("DisplayOrder")) = kpiord rw "" rw "" rw "" rw "" rs2.moveNext Loop End If rw "
"&KPITTL&"
" & rs2("Name") & " " & rs2("KPIValue") & " " If NullCheck(rs2("Units")) = "Percent" Then rw "%" End If rw "
" rw "
" charturl = GetSession("webHTTP") & GetWebServer() & Application("web_path") & Application("mapp_path") & "modules/reports/chart_series_TrendComp.asp?nocache=" + Server.UrlEncode(Trim(CStr(Now()))) & "&ChartGID="&bRandString&"&ChartID=" & aRandString & "&ctitle="&KPITTL&"&style=side&showLegend=F&ytitle="&ytitle&"&xtitle=Day" 'Response.Write charturl 'Response.End rw "
" 'rw "" rw "
" End If Else rw "" rw "" rw "" rw "" rw "" rw"
" rw "" If Not rs2.EOF Then rw "" Do While Not rs2.EOF AND NullCheck(rs2("DisplayOrder")) = kpiord rw "" rw "" rw "" rw "" rs2.moveNext Loop End If rw "
"&KPITTL&"
" & rs2("Name") & " " & rs2("KPIValue") & " " If NullCheck(rs2("Units")) = "Percent" Then rw "%" End If rw "
" rw "
" charturl = GetSession("webHTTP") & GetWebServer() & Application("web_path") & Application("mapp_path") & "modules/reports/chart_series_TrendComp.asp?nocache=" + Server.UrlEncode(Trim(CStr(Now()))) & "&ChartGID="&bRandString&"&ChartID=" & aRandString & "&ctitle="&KPITTL&"&style=side&showLegend=F&ytitle="&ytitle&"&xtitle=Day" 'Response.Write charturl 'Response.End rw "
" 'rw "" rw "
" End If rw "
" Loop 'end of rs loop Else rw "
" rw "(No Records)" rw "
" End If 'end of rs not eof End Sub Sub OutputSummary(rss1) Dim rc, oldrc oldrc = "" If Not rss1.EOF Then rw "

" rw "
" rw "" rw "" rw "" rw "" Do While Not rss1.EOF rc = NullCheck(rss1("RepairCenterID")) If rc <> oldrc Then rw "" End If rw "" rw "" rw "" oldrc = rc rss1.MoveNext rw "" Loop rw "
Summary
"&rc&"
" & rss1(1) & "" & rss1(2) & "
" rw "
" End If End Sub %>